Building a Zynthian Box using an official Kit v2

=Introduction=

This tutorial is mainly intended for those who are building a Zynthian Box using one of the official kits, that i offer here:

Zynthian Shop

Specifically, the instructions are for the assembly of kits v2 (version 2), those using the All-In-One circuit and the PiScreen 3.5' display. If you have an older kit v1, based in the 2in1 circuit and the PiTFT 2.8' display, you better should read this tutorial.



Anyway, the instructions are quite detailed and can be used as inspiration for building a custom Zynthian Box from scratch. Of course, you will have to be creative if you want to do it in such a way ;-)



=Bill of Materials=
 * Zynthian Basic Kit (custom PCBs, electronic parts, wiring and knobs) Visit the Zynthian Shop
 * Case kit, including nuts, bolts and connectors. Visit the Zynthian Shop
 * Raspberry Pi 3 (or Raspberry Pi 2)
 * HifiBerry DAC+ souncard
 * OzzMaker PiScreen 3.5" touch-display
 * Power adapter for Raspberry Pi (5.1v 2.4A with microUSB connector)
 * 16GB SD Card (a good one, please!)

=Some definitions=

Zynthian
It's an open project with the goal of creating an Open Synth Platform based in Free Software and Open Hardware Specifications & Designs (when available). It's a community-driven project. If you are here, probably you already know all this ;-)

Zynthian Software
The Zynthian Software stack consist of:

+ GNU Linux Operating System: Raspbian Jessie (Minibian is used in the most recent SD images) + Jack Audio Daemon + MOD-HOST + MOD-UI software, from ModDevices (github repositories) + A collection of standalone Synth Engines & LV2 Plugins (see Supported Synth Engines & Plugins) + Zynthian User Interface (github repository)

All the software used by Zynthian is Free Software (free as in freedom, not as in free beer) and it's covered by the GPL license or similar. If you don't know what i'm talking about, please, take a look to this:

What is Free Software?

The easiest way of getting the software is downloading the last official SD image from here:

Download Last Stable ZynthianOS SD-image

It's a 8 GB compressed image file (plenty of soundfonts) compiled for Raspberry Pi 3.

These SD card images include all the Zynthian software, properly configured for working with the official kits. Completely ready to use. Plug and play!

After downloading the SD-image, you have to write it to a micro-SD card. You need a micro-SD card with a minimum size of 16 GB, although you can use a bigger one if you want.

If you don't know how to do it, you can use Etcher (free software works on Mac, Windows or Linux) to flash the image onto the micro-SD card. Or do it manually! There is a really good manual for this at this link.

Finally, if you like, you can build your own SD image following these instructions:

Building the SD Image using the Setup Script

Zynthian Box
A Zynthian Box is a hardware device, a small digital computer designed to run the Zynthian Software. Currently it's based in the Raspberry Pi platform, but it could be easily adapted to other computer platforms.

This is a sketch with the main blocks of the official Zynthian Box:



In the project's repositories you will find all the electric schemes, PCB specifications, Herber files, etc. to build your own Zynthian Box from scratch:

- Zynthian Hardware Repository - Zynthian Case Repository

The official version is the canonical reference. Of course, you don't have to build the official version. You can build your customized Zynthian Box modifying and improving what you want. If you do so, some feedback would be very appreciated ;-)

Zynthian Kit
A Zynthian Kit is a set of specific and generic electronic modules designed or picked for building a Zynthian Box. This tutorial refers to the official Zynthian Kit v2, that is composed of these specific parts:

+ 4 x Controller Modules (rotary encoder + switch) + 1 x All-In-One Module (GPIO expander + MIDI IN/OUT/THRU) + 1 x Main ribbon bus cable + Wiring Kit with JST connectors



and these generic parts:

+ 1 x Raspberry Pi 2/3 + 1 x Hifiberry DAC+ (also pro & lite) + 1 x PiScreen 3.5' Touch-Display



Of course, other arrangements and combinations are possible. You can easily configure your hardware using the Webconf Tool, or if it doesn't work, tweaking from the command line.

You can take a look to some of the alternate builds made by some community members:

- A build with variations, by vagnscott - Another Wiring, by Imager - Success Cases

Zynthian Case
It's the enclosure used to put on all the parts. Again, this tutorial refers to the official Zynthian Aluminum Case v2, that is designed to be used in conjunction with the official Kit v2.

This case is available as a kit, including all the needed connectors, knobs, bolts & nuts:



If you intend to use a different soundcard or display, probably it won't fit the case and you will have to modify it. Of course, you can build your own customized case. Here you can find some examples from the community:

- Zynthian Enclosures - Success Cases

=Building the Zynthian Kit parts=

Prerequisites
Building your own Zynthian Box is not very difficult, but you will need all your attention, some basic tools and a few skills. Read the instructions and observe the detailed photos carefully. If you get in trouble you can ask the community:

https://discourse.zynthian.org

Required Skills
For building the hardware you should have the following basic competences:

+ Soldering + Basic understanding of reading basic electronic circuit diagrams + Enjoyment of work with electronic hardware and parts

If you have not soldered before, you should read a good soldering tutorial, or perhaps you would prefer the Soldering is Easy comic book by MightOhm.

Tools
And this is the list of required and recommended tools:

+ Soldering iron + Tin-solder + Wire-cutter + Small Plier + Screw-drivers Philips + Wrench, for potentiometer nuts (recommended) + PCB holder for soldering (very recommended!) + Small iron brush (very recommended!) + Magnifiying glass (recommended) + A vice (recommended) + A hand saw for metal (recommended) + Multimeter (recommended!)

Some general recommendations
1. Be careful to protect the components from electrostatic discharge. This is most critical for the ICs and the diodes. Be careful with your fingers. Your body can hold a good amount of static electric charge. Under some circumstances that charge can be drained through some of the components that you are handling and this could break the component. Try to hold the PCBs by the borders and discharge your body frequently touching some "ground" with your fingers.

2. Before soldering, please, check that you are soldering in the right side of PCB, also that components orientation is correct (ICs, diode)

3. When soldering, always avoid overheating. Electronic components doesn't like overheat! This is specially important when soldering the big connector in the HifiBerry soundcard. If you overheat the circuit, probably you will break some electronic component and you will end with a dead board. I recommend to use a fan while soldering. If not, you can use your mouth ;-) Also, don't solder the contacts in order. It's better to jump from one to another in the oposite corner. If you are not sure of your soldering skills, please, take your time and do some practice with inexpensive components and prototyping board.

4. After finishig the soldering, brush smoothly all the contacts. You may use a small iron brush. After that, blow over the circuit to remove any remaining tin.

5. Inspect visually all the soldered contacts. You could use a magnifying glass for verifying that every soldered pin looks good. If you are not sure, perhaps you could add more tin or re-solder the pin. Also, you could use a multimeter for testing the dubious contacts.

6. And of course, double-check everything! Assembling and wiring process are prone to errors. Don't be too confident ;-) Re-check component's orientation (ICs and diode), wiring, etc.

Assembling the Controller Modules
The controller module kit is composed of:

+ 4 x controller PCBs + 4 x rotary encoders with switch (PEC11R-4215K-S0024) + 4 x ceramic capacitor 100nF (C1) + 8 x ceramic capacitor 10nF (c2, c3) + 4 x 4-pin JST male-angle connector



This components are used to build the 4 controller modules that form the input side of the physical Zynthian User Interface. Each controller embed an incremental rotary encoder and a switch, so 4 wires (A,B,SW,GND) are needed for connecting it.



These are the steps for building one module:

0. Be sure that you have read and understdood these recommendations. 1. Bend the encoder's securing tabs to 75º, so you can insert it in the upside of the PCB (the labeled side!). Please, be very careful when bending the tabs as the encoder case is quite fragil and could be deformed. I recommend to use a small plier and not reaching to 90º. 2. Place the 100nF capacitor in C1 position (the most right!). This is for debouncing the push switch (SW). 3. Place the 2 x 10nF capacitors in C2 & C3 positions. These are for debouncing the rotary encoder contacts (A,B). 3. Solder the encoder and capacitors carefully. 4. Place the JST connector in the downside of the PCB, with the angle pins facing inwards (look the photo!) 5. Solder the JST connector carefully. 7. Use the plier to close the encoder's tabs again, trying to "catch" the PCB.



You have to build 4 controller modules, so you to have to repeat the steps 4 times.

Assembling the All-In-One Module
The All-In-One module kit is composed of:

+ 1 x All-In-One PCB + 1 x GPIO-expander MCP23017 => 28-pin IC + 3 x opto-coupler H11L1 (OC1,OC2,OC3) => 6-pin IC + 3 x diode 1N4148 (D1,D3,D4) + 1 x diode 1N5819 (D2) + 3 x resistor 1K (R3,R4,R9) => brown-black-red (*) + 1 x resistor 10K (R10) => brown-black-orange (*) + 1 x resistor 100 (R1) => brown-black-brown (*) + 2 x resistor 4K7 (R5,R7) => yellow-purple-red (*) + 3 x resistor 470 (R2,R6,R8) => yellow-purple-brown (*) + 4 x ceramic capacitor 100nF (C1,C2,C3,C4) + 7 x 4-pin JST male connector + 1 x 40-pin-double-row male connector

(*) Read from left to right with the tolerance ring (gold or silver) on the right.



These are the steps for building the All-In-One module:

0. Be sure that you have read and understood these recommendations. 1. Place the passive components (resistors & capacitors) in the upside of the PCB (the labeled side!). 2. Solder the components carefully. Always avoid overheating! 3. Place the ICs and diodes in the upside of the PCB (the labeled side!). Put attention to the orientation of these components!! 4. Solder the components carefully. Always avoid overheating! (*) 5. Place the connectors in the upside of the PCB (the labeled side!). 6. Solder the components carefully. Always avoid overheating! (*)

(*) You could use some tape for fixing the components while soldering, specially for ICs and connectors.







Tweaking the HifiBerry DAC+ soundcard
If you are using the HifiBerry DAC+ soundcard (also lite & pro versions), you should add 2 extra connectors to the board:

+ 40 row-pin GPIO male connector, for connecting the main ribbon bus cable + 3 pin header connector, for connecting the extra audio line-out Jack connectors

Both connectors must be placed on the top side of the board, so you should solder the contacts on the bottom side.

WARNING! Soldering the big 40-pin connector can be difficult if you don't have enough practice. Please, before starting be sure that you have read and understood these recommendations.





Tweaking the OzzMaker PiScreen 3.5' touch-display
The standard OzzMaker PiScreen 3.5 'touch-display have 2 connectors: a female connector ready for connecting the display as a hat and a male connector placed in the side. The official aluminum case and the ribbon cable are designed for the side male connector. The female connector can be annoying and should be removed for better closing the case.

If you got your PiScreen from a "Bundle-All" kit, you probably don't have this annoying female connector, so you are lucky and don't need to do anything here. If you have it, then take the saw and remove the connector carefully.

Other Soundcards and Displays
If you are using a different soundcard or display, you'll have to see the best way to integrate it. If you do so, please, don't forget to give good feedbak in the forum or here, in the wiki.

In the forum you can see what other users have done, and of course, don't doubt to ask whatever you want!

https://discourse.zynthian.org/c/building-zynthian

Building the MIDI-IN/OUT/THRU connectors
Before mounting the MIDI-IN/OUT/THRU connectors into the case we will solder the needed wires that allow connecting it to the All-In-One circuit using a JST connector. Doing it in that way is rather more comfortable than trying to solder inside the case with all the wiring mess.



JST Connector wires

* JST White (1) => LED's Anode (LED's red wire/long lead) * JST Yellow (2) => LED's Cathode (LED's black wire/short lead) * JST Black (3) => pin 5 of MIDI connector * JST Red (4) => pin 4 of MIDI connector

If you want (i strongly recommend you do it!), you can protect the contacts using heat-shrink sleeve (the red sleeve pieces in the photo). In that case, remember to insert the sleeve pieces before soldering ;-)



Depending of your case version, you will need to build 2 or 3 MIDI connectors.

Building the JACK Audio-Out connectors
In the same way, before mounting the Jack connectors into the case we will solder the needed wires. You can use heat-shrink sleeve too.





=Case Mounting=

Assemble the Main Computing Block
The main computing block is composed by the RBPi and the HifiBerry soundcard, and shouold be assembled using the next set of separator & bolts:



For easier assembling, you should follow the next steps:

1. fix the 2x4 separators to the RBPi. The bigger one must be on top and the smaller one on bottom. 2. insert the Hifiberry soundcard in the RBPi. 3. screw the 4 bolts on top of the HifiBerry.







Secure the Main Computing Block
After assembling the main computing block, you should secure it to the case. Use 4 black M2.5 bolts (see photo above).



Secure the All-In-One module
Secure the All-In-One module to the case using 4 x separators and 8 x M2.5 bolts.





Secure the Jack connectors
Put the rings on the outer side of the case to avoid damaging the case surface when you tighten the nuts.



Secure the MIDI-IN/OUT/THRU connectors
Just insert the connector with the JST-wire from the out-side of the case and the nut from the innerside. A pair of pliers can be useful for tighten.



Mount the MIDI activity LEDS
Insert the 3 LEDS in the case holes. You may want to push the LEDs with something more rigid than your finger. The screwdriver's handle could be fine.



When it's done, you have to solder the 2 LED wires (red/black) with the 2 spare wires on the MIDI JST harness (white/yellow). Polarity is important, so don't cross the wires:

* JST White wire (1) => LED's Anode (LED's red wire/long lead) * JST Yellow wire (2) => LED's Cathode (LED's black wire/short lead)

After soldering all the 3 LEDs, you may want to protect the connection with heat shrink sleeve, adhesive tape or hot melt glue.



Secure the Display
For fixing the display to the case cover, you have to use this set:



It's composed of 4 bolts, 4 nuts and 4 nylon separators. Before fixing the screen, don't forget to remove the protective plastic sheet.



Secure the Controllers
Fix the 4 controller modules to the case cover using the 4 bolts and washers attached to every rotary encoder.

IMPORTANT: For avoiding problems while closing the case, i recommend to mount the controller modules with the connectors facing one another. See the photo below.





Insert the knobs
You should insert the knobs into the encoders before closing the case. This will avoid forcing the encoders too much as otherwise, you could break them. Follow these simple steps and you wouldn't have any problem:

* moisten with water or saliva the encoder stem and the knob hole * press the encoder PCB with the finger from the rear side while pushing the knob from the front side until is completely inserted

Stick the rubber feet


=Connecting everything=

The new Zynthian Kit 2 is designed to use JST connectors, so connecting everything is really straight-forward:

Connect the Ribbon Bus cable
Connect the Main Ribbon Bus cable to the RBPi's 40-pin header and also to the All-In-One module





Connect the controllers (1)
Connect the 4 double JST cables to the 4 controller connectors on the All-In-One module (CTRL1, CTRL2, CTRL3, CTRL4)





Connect the MIDI connectors & activity LEDs
Connect the 2 JST cables from the MIDI connectors to the MIDI-IN and the MIDI-OUT/THRU connectors on the All-In-One module. Note that currently only 2 connectors are available in the official aluminum case, so you have to choose what do you prefer: MIDI-OUT or MIDI-THRU ;-)



At this point, your Zynthian Box should look something like this:



Connect the controllers (2)
Connect the 4 x Controller Modules following the right numbering: from top to bottom and from left to right.





Connect the Audio Jack connectors
Connect the Jack connector to the auxiliar audio-out connector on the HifiBerry soundcard. It's the 3-pin JST connector that you soldered before:



Connect the Display
And finally, connect the ribbon's 26-pin connector to the Display's male side connector. Put attention to the orientation. The red wire should be the pin 1 that as marked in the display's PCB surface.



=Testing your Zynthian Box=

And that's all. Your Zynthian Box is almost ready to boot. I recommend that you double-check everything before trying to boot.

Double-check part's assembling and wiring
It's easy to make a mistake while assembling the parts or connecting the wires. Some errors can be dangerous for the electronic components (short-circuits, some specific bad-wiring combinations) so it's better to be sure that everything is correctly assembled and connected.

Put special attention to ribbon bus connection and verify that red wire is on pin 1 for every connector. Also put attention to audio jack connectors and check that they are correctly connected to the Hifiberry soundcard.

First Boot
When you are sure that everything is in its place, it's time to boot the machine, so:

1. Insert the SD-card with the zynthian image ready to run. If you don't have one yet, read this. You can insert the SD-card through the "window" on the bottom-side of the case. Also, if the case is still open, you can do it from the top. 2. Plug the mini-usb power connector. A good 5V micro-usb charger is recommended (> 2 Amp).

These are the stages that you should see while booting:

1. After 5-10 seconds, it will show the Zynthian splash screen 2. After 3-4 seconds, it will go black 3. If you are using a fresh zynthian image and it's the first boot, the stages 1 and 2 will be repeated 4. After 5-10 seconds, the zynthian UI will be shown

If you get the Zynthian UI, congratulations!!! You are really close to get it!!



If you don't get an error screen or a blank screen, bad luck! Probably you made some mistake during the mounting process. You have to locate and solve the problem(s).

If you are using the Aruk RC-3 SD image (you should!), you are lucky because this SD image is pre-configured for working with the kit v2. If not, perhaps you need to configure the software for working with the kit v2. The simplest way of doing it is using the webconf tool:


 * Connect your zynthian to your local network using an ethernet cable (RJ-45).
 * From your web browser, access the zynthian's webconf tool by typing "zynthian.local" in the address bar. If this doesn't work for you, you should try with the IP. You can get the IP of your zynthian by navigating to the Admin Menu and clicking "Network Info". You should do that by using the "touch" interface: Click the top bar with a stick (or your nail, if it's not too wide) until you are in the Admin Menu. Once you are there, go down and click "Network Info".
 * Type the password (raspberry) for login into the webconf tool.
 * Once you are logged in, you have to access Hardware->Kit and select "Kit V2".
 * Save the changes and reboot your Zynthian.

If you are using a really old SD image (you shouldn't!) that is not pre-configure for the Kit v2, then you have to specify every part of your hardware configuration. These are the adjustments you have to set:


 * Display: PiScreen 3.5 (v2)
 * Audio: HifiBerry DAC+ / HifiBerry DAC+ADC
 * Wiring: MCP23017_EXTRA
 * Style: FontSize = 14

Test the Controllers & UI
If you get into the Zynthian UI, then you should be in the 'Layer list' screen. Let's start testing that your controllers are working OK.

1. Rotate the SELECT controller up & down for selecting the different options in the Layers menu.

2. Push SELECT to create a New 'Synth Layer'. You should get into the 'Engine Selection' screen.



If it doesn't works, try rotating/pushing the 'learn/snapshot' controller. Perhaps you have cross-wired the 3 & 4 controllers and in that case, you have to fix the wiring. If it doesn't work, try pushing the other two controllers and rotating the controllers. If something happens, most probably you have reversed the wiring order when connecting the controllers. Double-check the wiring again.

3. Rotate the SELECT controller to choose the engine you want to instance for the new layer.

The selector must go down when rotating clockwise and go up when rotating counter-clockwise. If the rotation sense is reversed, you should check the wiring. Perhaps some harness is faulty. The wires color sequence should be: red, black, yellow, green.

4. Select the ZynAddSubFX engine, select channel #1, bank 'Collection' and preset 'Metal Drips'.



You should get into the 'Instrument Control' screen.



5. Rotate every control to test that it works and that the rotation sense is correct.

If some controller doesn't work correctly, check the wiring again. You could try to figure what is happening by analyzing the observed behaviour.

6. Push SELECT to move to the next controller screen. Bold push to select a controller screen from the list.

7. Push BACK. You should go back to the 'Preset Selection' screen.



8. Push BACK again. You should go back to the 'Bank Selection' screen.



9. Push LAYER again to return to the 'Layer Selection' screen. Try to create another layer following the same procedure.



10. Push 'SNAPSHOT' to get into the 'Snapshot' screen. Select 'New Snapshot' and your first snapshot will be stored.



If everything is working OK, then you should read the User's Guide and start enjoying your Zynthian Box, but before that ... why not enjoying a little bit? Connect your MIDI keyboard, your speakers and check this out:

Bank 'net-wisdom', Preset 'Vangelis Saw - C'

Keep pushing a single note (or a chord) and move the cutoff and resonance controllers. Enjoy! ;-)

Test the Audio Output
1. Connect the audio output (RCA or Jack connectors) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian. You should be in the initial 'Layer Selection' screen. 3. Push BACK and you will get into the 'Admin' screen. 4. Select 'Audio Test' option and push 'SELECT'. You should hear the test audio-track: a nice afrocuban stuff ;-) 5. Push 'BACK' to stop the playing, and 'BACK' again to return to the "Layer Selection' screen.

If you hear nothing, please, check the amplifier, speakers, cabling, gain, volume, etc. If nothing works, you have to locate and solve the problem(s).

Test the MIDI subsystem
1. Connect the audio output (RCA or Jack connector) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian, select FluidSynth engine, channel #1 and 'TimGM6mb' bank. Select some instrument, like "Piano 1". 3. You could add more layers for completing the band ;-) 3. Push BACK, holding the switch pushed more than 2 seconds. You should get into the 'Admin' screen. 4. Select 'MIDI Test' option and push 'SELECT'. You should hear the test midi-track ('Take Five') interpreted by your Zynthian's band ;-) 5. Push 'BACK' to stop the playing

If you hear nothing, please, check the amplifier, speakers, cabling, gain, volume, etc. If nothing works, you have to locate and solve the problem(s).

Test the MIDI-USB inputs
1. Connect the audio output (RCA or Jack connector) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian, select ZynAddSubFX, channel #1, bank and instrument 3. Connect a MIDI-USB keyboard to any USB port. The keyboard should be configured to use channel #1. 3. After 2-3 seconds, play something with your keyboard. A simple Chopin's Nocturni would be enough. You should hear your music. If you don't like it, probably you should take some piano lessons, same as me ;-)

If this doesn't work, you have to locate and solve the problem(s).

Test the MIDI-IN connector
1. Connect the audio output (RCA or Jack connector) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian, select ZynAddSubFX, channel #1, bank and instrument. 3. Connect your keyboard's MIDI-OUT to the Zynthian's MIDI-IN using a MIDI cable. 3. After 2-3 seconds, play something with your keyboard. OK! A single melody can do the task. You should hear your song ;-)

If this doesn't work, you have to locate and solve the problem(s).

=Final steps=

Once everything is in its place and you have tested that it works, it's time to close the case ...

Close the case
Take your time to see how to bend and drive the cables to get a good fitting when closing the case.



Finally, screw-drive the 8 sheet-threader bolts for securing the case, 4 each side.



=Update your Zynthian Box=

If you are using the official Zynthian SD Image, the first thing you should do after booting up your Zynthian Box and having the controllers working OK is update the software:

- connect your Zynthian Box to your router using an ethernet cable - from the admin menu, click update software - from the admin menu, click restart UI (or reboot)

The update process can take some time. Be patient. If you get some ERROR message while updating, please, ask in the forum. You can send a photo or description of the error message.

You can also update the software using the webconf tool, or from the command line.

=Locating and Solving problems=

In this section i will try to give you some tips for locating and solving the problems you may have.

For finding and solving problems, i really recommend to connect a HDMI display to the RBPi. It will give you accurate information during the booting sequence. Also, if you connect an USB keyboard, you could login into the system and get extra information, inspect the logs, etc.

The display don't show the zynthian splash screen on boot
In that case, probably the system is not booting correctly. You could try to connect a HDMI display and see if the system is booting. If you can't see the booting sequence, then you should re-burn your SD-card with the Zynthian image. Also, check that your image file is correct by using the SHA1 signature.

You get the zynthian error screen with the IP
Your hardware seems to be incorrectly configured. You should access the webconf tool and configure your hardware.

Your controllers doesn't work
You make a mistake while connecting the controllers or your hardware (wiring layout) is incorrectly configured. You should access the webconf tool and configure your hardware.

You can't solve the problem
If you can't find a solution for your problem, ask the community:

https://discourse.zynthian.org

Also, if you found a solution for a problem not described here, please send feedback to the community, or better, edit this wiki! ;-)

=Technical Reference=

Finally, i have included here some detailed schemes. People hacking the standard Zynthian design would find it very useful. Also, if you have some problem and need to "debug", you would find it useful too.

You can find all this info and much more in the project's Hardware Repository.

All-In-One Schematic
This is the electrical scheme of the All-In-One circuit: